/*
 * Copyright 2011-2020 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0.
 * See `LICENSE` in the project root for license information.
 */

package me.ijleex.mgmt.system.menu.entity;

import java.util.List;

import org.apache.ibatis.type.Alias;

import me.ijleex.mgmt.framework.entity.EntitySupport;

/**
 * 菜单表 t_mgmt_menu
 *
 * @author liym
 * @since 2019-03-14 12:28:19 By 'codegen'
 */
@Alias("Menu")
public class Menu extends EntitySupport {

    /** ID */
    private Long id;
    /** 菜单名称 */
    private String name;
    /** 请求地址（路径） */
    private String uri;
    /** 类型 1-叶子菜单 2-分支菜单 3-按钮 */
    private Integer type;
    /** 图标 */
    private String icon;
    /** 排序 */
    private Integer ordinal;

    /** （子）系统标识符 如 ijleex-mgmt */
    private String systemId;

    /** 备注 */
    private String remarks;

    /** 状态 0-正常 1-禁用 */
    private Integer state;
    /** 上级菜单ID */
    private Long pid;

    // ===

    /**
     * 子菜单列表
     */
    private List<Menu> children;

    /**
     * 是否选中
     */
    private Boolean checked;
    /**
     * 是否展开
     */
    private Boolean open;

    public Menu() {
        super();
    }

    public Menu(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUri() {
        return uri;
    }

    public void setUri(String uri) {
        this.uri = uri;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getOrdinal() {
        return ordinal;
    }

    public void setOrdinal(Integer ordinal) {
        this.ordinal = ordinal;
    }

    public String getSystemId() {
        return systemId;
    }

    public void setSystemId(String systemId) {
        this.systemId = systemId;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public List<Menu> getChildren() {
        return children;
    }

    public void setChildren(List<Menu> children) {
        this.children = children;
    }

    public Boolean getChecked() {
        return checked;
    }

    public void setChecked(Boolean checked) {
        this.checked = checked;
    }

    public Boolean getOpen() {
        return open;
    }

    public void setOpen(Boolean open) {
        this.open = open;
    }

}
